home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / linux / atmsvc.h < prev    next >
C/C++ Source or Header  |  2009-10-16  |  2KB  |  56 lines

  1. /* atmsvc.h - ATM signaling kernel-demon interface definitions */
  2.  
  3. /* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */
  4.  
  5.  
  6. #ifndef _LINUX_ATMSVC_H
  7. #define _LINUX_ATMSVC_H
  8.  
  9. #include <linux/atmapi.h>
  10. #include <linux/atm.h>
  11. #include <linux/atmioc.h>
  12.  
  13.  
  14. #define ATMSIGD_CTRL _IO('a',ATMIOC_SPECIAL)
  15.                 /* become ATM signaling demon control socket */
  16.  
  17. enum atmsvc_msg_type { as_catch_null, as_bind, as_connect, as_accept, as_reject,
  18.                as_listen, as_okay, as_error, as_indicate, as_close,
  19.                as_itf_notify, as_modify, as_identify, as_terminate,
  20.                as_addparty, as_dropparty };
  21.  
  22. struct atmsvc_msg {
  23.     enum atmsvc_msg_type type;
  24.     atm_kptr_t vcc;
  25.     atm_kptr_t listen_vcc;        /* indicate */
  26.     int reply;            /* for okay and close:           */
  27.                     /*   < 0: error before active       */
  28.                     /*        (sigd has discarded ctx) */
  29.                     /*   ==0: success           */
  30.                         /*   > 0: error when active (still */
  31.                     /*        need to close)       */
  32.     struct sockaddr_atmpvc pvc;    /* indicate, okay (connect) */
  33.     struct sockaddr_atmsvc local;    /* local SVC address */
  34.     struct atm_qos qos;        /* QOS parameters */
  35.     struct atm_sap sap;        /* SAP */
  36.     unsigned int session;        /* for p2pm */
  37.     struct sockaddr_atmsvc svc;    /* SVC address */
  38. } __ATM_API_ALIGN;
  39.  
  40. /*
  41.  * Message contents: see ftp://icaftp.epfl.ch/pub/linux/atm/docs/isp-*.tar.gz
  42.  */
  43.  
  44. /*
  45.  * Some policy stuff for atmsigd and for net/atm/svc.c. Both have to agree on
  46.  * what PCR is used to request bandwidth from the device driver. net/atm/svc.c
  47.  * tries to do better than that, but only if there's no routing decision (i.e.
  48.  * if signaling only uses one ATM interface).
  49.  */
  50.  
  51. #define SELECT_TOP_PCR(tp) ((tp).pcr ? (tp).pcr : \
  52.   (tp).max_pcr && (tp).max_pcr != ATM_MAX_PCR ? (tp).max_pcr : \
  53.   (tp).min_pcr ? (tp).min_pcr : ATM_MAX_PCR)
  54.  
  55. #endif
  56.